/*
-----------------------------------------------------------------------------
This source file is part of Labor3D
(Labor 3D Graphics Engine)

Copyright (c) 2011-2020 Rock Mao
* creator : Rock Mao
* created : 2011-10-25   22:29
* filename: LaborD3D11RrenderState.h
-----------------------------------------------------------------------------
*/
#ifndef __LABORD3D11RRENDERSTATE_H__
#define __LABORD3D11RRENDERSTATE_H__

#include "LaborD3D11Def.h"
#include "LaborD3D11Headers.h"

NAMESPACE_LABOR3D_BEGIN
class CLD3D11SamplerState : public ILSamplerState
{
	ID3D11SamplerState *      m_pD3D11Sampler;
	std::wstring              m_name;
public:
	CLD3D11SamplerState(  );
	~CLD3D11SamplerState();
	void*         D3D11Sampler(){ return m_pD3D11Sampler ; }
	bool          load(const wchar_t* fileName , unsigned long  arg);
	bool          load(const wchar_t* fileName , const unsigned char* buf , size_t bufLen, unsigned long arg);
	bool          create( const sLSamplerStateDesc & _desc );

	bool          isLoaded();
	bool          unload();
	unsigned long memUsage();
private:
	void          _destroy();
};


NAMESPACE_LABOR3D_END
#endif // __LABORD3D11RRENDERSTATE_H__
